1. Field
The present invention relates to techniques for enhancing the performance of computer systems. More specifically, the present invention relates to a method and apparatus for controlling temperature variations in a computer system.
2. Related Art
As semiconductor integration densities within computer systems continue to increase at an exponential rate, thermal dissipation problems are become increasingly problematic. In particular, as the operating temperatures of chip packages become higher, thermal cycling effects can begin to adversely affect the reliability of computer system internals. A number of degradation mechanisms are accelerated by thermal cycling at high temperatures, including accelerated solder fatigue; interconnect fretting; differential thermal expansion between bonded materials; delamination failures; thermal mismatches between mating surfaces; differentials in the coefficients of thermal expansion between materials used in chip packages; wirebond shear and flexure fatigue; passivation cracking; electromigration failures; electrolytic corrosion; thermomigration failures; crack initiation and propagation; delamination between chip dies and molding compounds, as well as between the molding compound and the leadframe; die de-adhesion fatigue; repeated stress reversals in brackets leading to dislocations, cracks, and eventual mechanical failures; deterioration of connectors through elastomeric stress relaxation in polymers; and others.
One solution to this problem is to dampen the thermal cycling by “chip throttling” and/or “trash burning.” For example, chip throttling can involve reducing processor clock frequencies when processor workloads are high, and trash burning can involve increasing processor workloads to raise the mean package temperature when workloads are low. Unfortunately, when the workload is high and chip throttling kicks in, system throughput is reduced at the time a customer application needs it the most. Moreover, this can create a “snowball” effect because when application demand is high, throughput slows down, which can cause application demand to pile up, which can cause throughput to slow down even further. Moreover, trash burning consumes electricity without doing useful computational work, which can generate greenhouse gases at some distant power plant.
Hence, what is needed is a method and apparatus for controlling temperature variations in a computer system without the above-described problems.